//方法一
// class Solution {
// public:
//     void rotate(vector<int>& nums, int k) {
//         int sz=nums.size();
//         vector<int>tmp(nums);
//         for(int i=0;i<sz;i++)
//         {
//             nums[(i+k)%sz]=tmp[i];
//         }
//     }
// };
//方法二
class Solution {
public:
    void reverse(vector<int>& nums,int start,int end)
    {
        while(start<end)
        {
            swap(nums[start++],nums[end--]);
        }
    }
    void rotate(vector<int>& nums, int k) {
        k%=nums.size();
        int sz=nums.size();
        reverse(nums,0,sz-1);
        reverse(nums,0,k-1);
        reverse(nums,k,sz-1);
    }
};
